home *** CD-ROM | disk | FTP | other *** search
- #! /bin/sh
-
- . "${PM_FUNCTIONS}"
-
- get_pulse_users() {
- ps -C pulseaudio -o uid= | tr -d ' '
- }
-
- suspend_pulse() {
- for i in $(get_pulse_users); do
- for j in $(echo list-sinks | sudo -H -u \#$i pacmd | awk '/\* index:/ {print $3}'); do
- echo set-sink-mute $j true | sudo -H -u \#$i pacmd > /dev/null 2>&1
- done
- for j in $(echo list-sources | sudo -H -u \#$i pacmd | awk '/\* index:/ {print $3}'); do
- echo set-source-mute $j true | sudo -H -u \#$i pacmd > /dev/null 2>&1
- done
- echo suspend true | sudo -H -u \#$i pacmd > /dev/null 2>&1
- done
- }
-
- resume_pulse() {
- for i in $(get_pulse_users); do
- for j in $(echo list-sinks | sudo -H -u \#$i pacmd | awk '/\* index:/ {print $3}'); do
- echo set-sink-mute $j false | sudo -H -u \#$i pacmd > /dev/null 2>&1
- done
- for j in $(echo list-sources | sudo -H -u \#$i pacmd | awk '/\* index:/ {print $3}'); do
- echo set-source-mute $j false | sudo -H -u \#$i pacmd > /dev/null 2>&1
- done
- echo suspend false | sudo -H -u \#$i pacmd > /dev/null 2>&1
- done
- }
-
- case $1 in
- hibernate|suspend)
- suspend_pulse
- ;;
- thaw|resume)
- resume_pulse
- ;;
- *) exit $NA
- ;;
- esac
-